<?php
	
class Table_Liaisons extends Zend_Db_Table_Abstract
{
    protected $_name    = 'liaison';
    protected $_primary = array('VIP_NUMERO','VIP_VIP_NUMERO','DATE_EVENEMENT');
    protected $_sequence = true; //la table a un autoincrément

    

	
	public function getLByNum($numVip){
		$req1= $this->select()
									->setIntegrityCheck(false)
									->from(array('l'=>'liaison'),
									array('DATE_EVENEMENT'))
									->join(array('v1'=>'vip'),
									'v1.VIP_NUMERO = l.VIP_NUMERO',
									array(''))
									->join(array('v2'=>'vip'),
									'l.VIP_VIP_NUMERO = v2.VIP_NUMERO',
									array('v2.VIP_NOM','v2.VIP_NUMERO','v2.VIP_TEXTE', 'v2.VIP_PRENOM'))
									->where('v1.VIP_NUMERO = ?', $numVip)
									->distinct();
								
	    $req2= $this->select()
									->setIntegrityCheck(false)
									->from(array('l'=>'liaison'),
									array('DATE_EVENEMENT'))
									->join(array('v1'=>'vip'),
									'v1.VIP_NUMERO = l.VIP_VIP_NUMERO',
									array(''))
									->join(array('v2'=>'vip'),
									'l.VIP_NUMERO = v2.VIP_NUMERO',
									array('v2.VIP_NOM','v2.VIP_NUMERO','v2.VIP_TEXTE', 'v2.VIP_PRENOM'))
									->where('v1.VIP_NUMERO = ?', $numVip)
									->distinct();
									
		$req= $this->select()
    								->union(array($req1, $req2));
    															
		$resu=$this->fetchAll($req);
		return $resu;
	}
	
	public function getLiByNum($numVip){
		$req1= $this->select()
									->setIntegrityCheck(false)
									->from(array('l'=>'liaison'),
									array('VIP_NUMERO', 'VIP_VIP_NUMERO', 'DATE_EVENEMENT', 'LIAISON_MOTIFFIN'))
									->join(array('v1'=>'vip'),
									'v1.VIP_NUMERO = l.VIP_NUMERO',
									array(''))
									->join(array('v2'=>'vip'),
									'l.VIP_VIP_NUMERO = v2.VIP_NUMERO',
									array('v2.VIP_NOM','v2.VIP_NUMERO','v2.VIP_TEXTE', 'v2.VIP_PRENOM'))
									->where('v1.VIP_NUMERO = ?', $numVip)
									->distinct();
								
	    $req2= $this->select()
									->setIntegrityCheck(false)
									->from(array('l'=>'liaison'),
									array('VIP_NUMERO', 'VIP_VIP_NUMERO', 'DATE_EVENEMENT', 'LIAISON_MOTIFFIN'))
									->join(array('v1'=>'vip'),
									'v1.VIP_NUMERO = l.VIP_VIP_NUMERO',
									array(''))
									->join(array('v2'=>'vip'),
									'l.VIP_NUMERO = v2.VIP_NUMERO',
									array('v2.VIP_NOM','v2.VIP_NUMERO','v2.VIP_TEXTE', 'v2.VIP_PRENOM'))
									->where('v1.VIP_NUMERO = ?', $numVip)
									->distinct();
									
		$req= $this->select()
    								->union(array($req1, $req2));
    															
		$resu=$this->fetchRow($req);
		return $resu;
	}
	
	public function addLiaison($numVip, $numsecondvip, $date, $motif){
		$tabledate = explode('/', $date);
		$dated = $tabledate[2].'-'.$tabledate[1].'-'.$tabledate[0];
		
		$data = array('VIP_VIP_NUMERO'=> $numsecondvip,
					  'VIP_NUMERO'=> $numVip,
					  'DATE_EVENEMENT'=> $dated,
					  'LIAISON_MOTIFFIN'=> $motif);
		$this->insert($data);
	}
	
	public function deleteVip($numvip){
		$this->delete('VIP_NUMERO = '.$numvip.' OR VIP_VIP_NUMERO = '.$numvip);
	}
}